/**
 * 杭州天谷信息科技有限公司源代码，版权归杭州天谷信息科技有限公司所有 <br/>
 * 项目名称：EsignDemo_programme4 <br/>
 * 文件名：Tools.java <br/>
 * 包：com.timevale.esigndemo.utils <br/>
 * 描述：TODO <br/>
 * 修改历史： <br/>
 * 1.[2015年9月15日下午5:52:01]创建文件 by hewu
 */
package com.zhaodui.esign;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;

import com.timevale.esign.sdk.tech.bean.result.Result;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import net.sf.json.JSONObject;

/**
 * 类名：Tools.java <br/>
 * 功能说明：工具类<br/>
 * 修改历史： <br/>
 * 1.[2015年9月15日下午5:52:01]创建类 by hewu
 */
public class Tools {
    /**
     * 功能说明：构造客户自定义标识 解释：唯一标识一次签署动作。在接收同步和异步通知时需要根据此字段识别签署动作与业务的对应关系
     * @return <br/>
     *         修改历史：<br/>
     *         1.[2015年9月15日下午5:52:58] 创建方法 by hewu
     */
    public static String getCustomNum() {
        return new Date().getTime() + "";
    }

    public static boolean isNull(String str) {
        if (null == str || "".equals(str)) {
            return true;
        }
        return false;
    }

    public static void forward(HttpServletRequest req, HttpServletResponse resp,
            String url) {
        try {
            RequestDispatcher dispatcher = req.getRequestDispatcher(url);
            dispatcher.forward(req, resp);
        } catch (ServletException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    
    public static void response(HttpServletRequest req, HttpServletResponse resp, Result result) {
        JSONObject jsonObj = JSONObject.fromObject(result);
        //jsonObj.put("sessionId", req.getSession().getId());
        String jsonStr = jsonObj.toString();
        System.out.println(jsonStr);
        resp.setCharacterEncoding("UTF-8");
        resp.setContentType("application/json; charset=utf-8");
        PrintWriter out = null;
        try {
            out = resp.getWriter();
            out.write(jsonStr);
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (out != null) {
                out.close();
            }
        }
    }
}
